//
//  HMStatus.swift
//  Weibo12
//
//  Created by HM on 15/12/31.
//  Copyright © 2015年 itheima. All rights reserved.
//  微博模型

import UIKit

class HMStatus: NSObject {
    
    /// 微博的内容
    var text: String?
    /// 微博的创建时间
    var created_at: String?
    /// 微博的来源
    var source: String?
    /// 当前微博的作者信息
    var user: HMUser?
    /// 转发微博的字段
    var retweeted_status: HMStatus?
    
    /// 转发评论赞 的数量
    var reposts_count: Int = 0
    var comments_count: Int = 0
    var attitudes_count: Int = 0
    
    /// 配图视图需要的数据
    var pic_urls: [HMStatusPictureInfo]?
    
    init(dict: [String: AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    override func setValue(value: AnyObject?, forKey key: String) {
        if key == "user" {
            if let dict = value as? [String: AnyObject] {
                // 字典转模型
                user = HMUser(dict: dict)
            }
        }else if key == "retweeted_status" {
            if let dict = value as? [String: AnyObject] {
                // 字典转模型
                retweeted_status = HMStatus(dict: dict)
            }
        }else if key == "pic_urls" {
            if let dicts = value as? [[String: AnyObject]] {
                // 初始化一个配图数据的数组
                pic_urls = [HMStatusPictureInfo]()
                // 遍历字典转模型
                for dict in dicts {
                    let pictureInfo = HMStatusPictureInfo(dict: dict)
                    pic_urls?.append(pictureInfo)
                }
            }
        }else{
            // 在此一定要调用 super ，因为 super 方法才是真正赋值
            super.setValue(value, forKey: key)
        }
    }
    
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
    override var description: String {
        let keys = ["pic_urls"]
        return dictionaryWithValuesForKeys(keys).description
    }
}
